/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.vod.gauss.matrice;

import java.util.List;

import fr.vod.gauss.encoder.Decoder;

/**
 * 
 * @author drazanakoto
 */
public interface Matrice extends Decoder {

	/**
	 * 
	 * @param index
	 * @return
	 */
	public Equation get(int index);

	/**
	 * 
	 * @param index
	 */
	public void remove(int index);

	/**
	 * 
	 * @return
	 */
	public int getLength();

	/**
	 * 
	 * @param dest
	 * @param src
	 */
	public void move(int dest, int src);

	/**
	 * 
	 * @param e
	 */
	public void addEquation(Equation e);
	
	
	/**
	 * 
	 * @param lst
	 */
	public void addAll(List<Equation> lst);
	
	
	/**
	 * 
	 * @return
	 */
	public boolean needToSolve();
}
